# 形参和实参
# x y 称为形参
def a(x, y):
    return x * y


# 10和20这个具体参数值称为实参
a(10, 20)


# 给形参设置初始值
def b(m=1, n=2):
    return m + n


# 如果函数中的参数设置了初始值，调用时可以不传参
print(b())  # 3
print(b(10))  # 10相当于传递给第一个参数m
print(b(10, 30))
print(b(m=8, n=20))
print(b(n=9, m=10))  # 给对应的参数变量赋值的形式传参


# 当函数的参数个数不确定情况下
def c(*f):
    # 累加
    for i in f:
        print(i*2)

print(c(10, 20 , 30))
# 如果函数无返回值 ，打印函数返回值时输出None
